package com.tarena.lbs.mapper;

import com.tarena.lbs.entity.UserCoupons;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface UserCouponsMapper {
    int insertUserCoupon(UserCoupons userCoupon);
    List<UserCoupons> listUserCouponsByUserId(Integer userId);
    int updateUserCouponStatus(Integer id, Integer status);
    UserCoupons getUserCouponByCode(String couponCode);
    int countUserCouponsByUserIdAndCouponId(Integer userId, Integer couponId);
    /**
     * 逻辑删除用户优惠券
     */
    int deleteUserCoupon(@Param("id") Integer id, @Param("userId") Integer userId);

    /**
     * 批量逻辑删除用户优惠券
     */
    int batchDeleteUserCoupons(@Param("ids") List<Integer> ids, @Param("userId") Integer userId);

    /**
     * 物理删除用户优惠券（谨慎使用）
     */
    int physicallyDeleteUserCoupon(@Param("id") Integer id, @Param("userId") Integer userId);
    List<Integer> getCouponIdsByActivityId(@Param("activityId") Integer activityId);
}